home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 2000 #4 / Amiga Plus CD - 2000 - No. 4.iso / Tools / Treiber / Misc / CNET / readme < prev    next >
Encoding:
Text File  |  2000-05-25  |  10.9 KB  |  306 lines

  1.        --------------------------------------------------------
  2.        "cnet.device" PCMCIA ethernet card driver for A600/A1200
  3.        --------------------------------------------------------
  4.             pre-V1.2 by Bruce Abbott <bhabbott@inhb.co.nz>
  5.             V1.2 by Harry "Piru" Sintonen <sintonen@iki.fi>
  6.  
  7.  
  8. Introduction:
  9.  
  10.   This is an PCMCIA (aka PC Card) ethernet card SANA2 driver for
  11.   Amiga 600 and Amiga 1200 computers. Most NE2000 compatible cards
  12.   are supported (I hope).
  13.  
  14.  
  15. Requirements:
  16.  
  17.   - A compatible PCMCIA ethernet card (see the compatibility list).
  18.  
  19.   - An Amiga 1200 or Amiga 600. A1200's need a hardware mod (see
  20.     A1200mod.txt).
  21.  
  22.   - Network software. Tested with Genesis 1.0.6 and MiamiDx 1.0c.
  23.  
  24.   - A network, obviously. :-)
  25.  
  26.  
  27. Usage:
  28.  
  29.   Four different versions of cnet.device are provided:
  30.  
  31.   - cnet.device.000     - 68000 version, for stock A600s.
  32.   - cnet.device         - 68020 version, for 68020+ CPUs.
  33.   - cnet.device.turboio - 68020 version with DMA speedup hack, for
  34.                           68020+ CPUs.
  35.   - cnet.device.debug   - 68020 version with debug output to debug
  36.                           terminal enabled, use sashimi to capture.
  37.  
  38.   The 68000 version is intended to be used with unexpanded A600. The
  39.   68020 version is for machines with 68020 or better CPU.
  40.  
  41.   The `turboio' version has a special speedup hack implemented (tech:
  42.   it uses longword access to 16-bit hardware register) that in most
  43.   cases give better performance than the regular 68020 version.
  44.   However some beta testers reported that the regular version is faster.
  45.   Do your own benchmarking to figure out which one is faster for you.
  46.   If you don't care that much about the speed (the speed difference is
  47.   quite minor anyway) then just pick the regular version.
  48.  
  49.   If cnet.device fail to work properly `cnet.device.debug' probably can
  50.   help. It includes full line debug information and has extensive debug
  51.   output to debugging terminal. The output can be captured with sashimi.
  52.   Such sashimi log is recommended when reporting device bugs.
  53.  
  54.  
  55.   Simply copy the preferred version of "cnet.device" to where you want
  56.   it (usually "DEVS:networks/cnet.device") and set up your network
  57.   software for an ethernet driver. For AmiTCP 3.0 this would involve
  58.   editing the "interfaces" file and adding a line like
  59.   "cnet dev = devs:networks/cnet.device". Then you would start it up
  60.   with "ifconfig cnet0 192.168.0.1".
  61.  
  62.   With Genesis and Miami(Dx) setup is really easy, use provided
  63.   installation "wizard" to set up the network. Choose SANA2 type for
  64.   device driver, then choose `DEVS:networks/cnet.device', unit 0.
  65.  
  66.  
  67. About Netax1200:
  68.  
  69.   Netax1200 card somes with its own driver called `netax.device'. This
  70.   basically is old cnet.device, so Netax1200 users can use cnet.device
  71.   instead.
  72.  
  73.  
  74. Performance:
  75.  
  76.   My network consists of an A1200 603e+/240MHz/060/50MHz connected via
  77.   coax cable to a P120 laptop. Software on the Amiga is AmigaOS 3.5 +
  78.   Genesis 1.0.6 and on the laptop Debian 2.2. The amiga has Apollo RE450CT
  79.   pcmcia card and the laptop has 3com EtherLink III pcmcia card. FTP
  80.   download from laptop have reached 771Kbytes/Sec. On overclocked 060
  81.   systems speeds of >819Kbytes/Sec have been reported.
  82.  
  83.   <flame>
  84.   Note that Miami and MiamiDx are a lot slower than AmiTCP/IP based
  85.   (Genesis) systems! Nothing can be done to help here, complaints to
  86.   Mr Kruse of nordicglobal <kruse@nordicglobal.com>. And NO I will NOT
  87.   make MNI driver for Miami(Dx) because for some lame excuse MNI devkit
  88.   is kept private! (aargh)
  89.  
  90.   My advice is: use the better protocol stack, Genesis.
  91.   </flame>
  92.  
  93.  
  94. Limitations:
  95.  
  96.   A1200s require an internal modification to the CreditCardReset line
  97.   to ensure correct card initialisation. If you haven't done this mod,
  98.   you may need to wait until after powering up your A1200 before plugging
  99.   the card in. If the 'Link' LED stays on but you are using coax cable,
  100.   this indicates that the card is NOT working properly. Also, sometimes
  101.   the card can appear to be OK but still doesn't work correctly.
  102.  
  103.  
  104. Surf Squirrel Problems:
  105.  
  106.   The Surf Squirrel SCSI/Serial adapter is not a proper PCMCIA card, and
  107.   has no attribute memory. Unfortunately, its driver takes over the PCMCIA
  108.   port and prevents other drivers from owning their cards. This will happen
  109.   whenever squirrelscsi.device is opened, even if the Surf Squirrel card is
  110.   never plugged in!
  111.  
  112.  
  113. Card_info Diagnostic Tool:
  114.  
  115.   The `card_info' program can be used to identify a PCMCIA card, and
  116.   will display a summary of its attributes. It also produces a binary
  117.   dump of the attribute and I/O memory, which can be analysed for more
  118.   detailed information. `card_info' is quite useful as it can be used to
  119.   find out if the card and the hardware mod work.
  120.  
  121.  
  122. Example Network Files:
  123.  
  124.  Because many people seem to have trouble setting up an Ethernet network,
  125.  I have included a copy of my own network configuration and startup script
  126.  files, which you can use as a template for your own installation. Please
  127.  change the username etc. to suit. (These files are by Bruce Abbott
  128.  <bhabbott@inhb.co.nz>, nowadays quite obsolete since both major Amiga
  129.  TCP/IP stacks have installation "wizard")
  130.  
  131.  
  132. Building:
  133.  
  134.   src directory contains the full source code for cnet.device. You need
  135.   standard make, phxass, phxlnk and os-includes to compile. Everything
  136.   needed excluding os-includes are available on aminet. os-includes are
  137.   available on devcd2.1 for example. After installing make, phxass and
  138.   phxlnk within standard path do the following to compile:
  139.  
  140.   > cd src
  141.   > assign os-include: ADCD_2.1:NDK/NDK_3.5/Include/include_i/
  142.   > make
  143.  
  144.   This results four cnet.device binaries to src directory.
  145.  
  146.  
  147. History:
  148.  
  149.    V0.1 First Aminet Release
  150.  
  151.    - It worked, just.
  152.  
  153.  
  154.    V0.4 Second Aminet Release
  155.  
  156.    - Added several SANAII commands for compatibility with Miami.
  157.  
  158.    - Enabled interrupts during RemoteWrite. Should no longer cause
  159.      serial port overruns.
  160.  
  161.    - Improved error checking in case of card initialisation failure.
  162.      Now doesn't GURU if device is opened twice! Also tested it with
  163.      Enforcer, which did not detect any illegal memory accesses.
  164.  
  165.    - Relaxed hardware address verification to accept the Accton EN2216.
  166.      Now it might possibly work with other 'NE2000 compatible' cards.
  167.  
  168.    - Unrolled loops to improve data transfer speed. Now about 20% faster
  169.      on an unexpanded A600. Code size got bigger as a result :(
  170.  
  171.    - Hack to fix problem with missed interrupts. Now the device clears
  172.      the Gayle interrupt bits instead of letting card.resource do it.
  173.  
  174.  
  175.    V0.5  Third Aminet Release
  176.  
  177.    - Accepts 802.3 packets (probably, untested).
  178.  
  179.    - Sets BROADCAST bit in io_flags when appropriate.
  180.  
  181.    - Now examines PCMCIA attribute memory to determine the value to write
  182.      into the Card Configuration Register. This should work with all NE2000
  183.      compatible PCMCIA network cards, even those with different CCR offsets.
  184.  
  185.    - If attribute memory is not found, cnet.device tries to open the file
  186.      "s:cnetdev.config" and read from it the Card Configuration Register
  187.      offset, Configuration ID, and ROM Station Address. This often revives
  188.      a card that did not power up properly. The 'cnetconfig' program is
  189.      supplied for creating this file.
  190.  
  191.  
  192.    V0.6 Fourth Aminet Release
  193.  
  194.    - Removed cnet.config stuff, and replaced with a hardware mod. This
  195.      mod should be done on all A1200s (not required on the A600).
  196.  
  197.    - Now cards are hot-swappable. As a result, only proper network
  198.      cards will be accepted. Other types of cards are ignored so
  199.      that other drivers can access them.
  200.  
  201.    - I/O addressing now supports a 64KByte range. Previously this was
  202.      only 1KB, which may have prevented some cards from working.
  203.  
  204.    - Accepts all Card Configuration Register address sizes (previously
  205.      the address was assumed to be 16bit, but some cards are 24 bit!).
  206.  
  207.    - Tighter data transfer loops, which are slightly faster on a
  208.      machine with small CPU caches (eg. 68030).
  209.  
  210.    - Un-supported commands now return S2ERR_NOT_SUPPORTED.
  211.  
  212.    - 'card_info' program provided for viewing card attributes.
  213.  
  214.    v0.7  Fifth Aminet Release
  215.  
  216.    - fixed harmless bug in init_nic - remote DMA timeout test
  217.      could not fail!
  218.  
  219.    - Now remembers copytobuf/copyfrombuf tags for each opener.
  220.      Allows simultaneous use of eg. AmiTCP and Envoy.
  221.  
  222.    - OnEvent types ONLINE and OFFLINE now return immediately
  223.      if the device is already in the wanted state.
  224.  
  225.    v0.9  Sixth Aminet release
  226.  
  227.    - fixed bug in OnEvent: was using wrong register to test ONLINE flag.
  228.  
  229.    - Added support for multicasting, statistics, orphan packets, exclusive
  230.      and promiscuous modes.
  231.  
  232.    v1.0  Seventh Aminet release
  233.  
  234.    - Fixed bug in readpacket: Broadcast packets were also being identified
  235.      as Multicast.
  236.  
  237.    v1.1  Eigth Aminet release
  238.  
  239.    - Fixed bug: delmulticast always failed due to bad testing
  240.      for multicast address match.
  241.  
  242.    - Fixed bug: readpacket was getting incorrect src and dst
  243.      addresses (A4 was pointing to prhdr instead of etherhdr).
  244.  
  245.    - Included put_multi in init_nic (need to reload multicast
  246.      bits if card is removed and re-inserted)
  247.  
  248.    - Added 4 to rx ios2_datalength in raw mode. Shapeshifter
  249.      seems to need this (why?)
  250.  
  251.    v1.2  Ninth Aminet release
  252.  
  253.    - Since there has been almost ten months without an update, I, Harry
  254.      Sintonen <sintonen@iki.fi>, decided to have a go.
  255.  
  256.    - Dozens of bugs fixed.
  257.  
  258.    - Now comply to SANA2 Rev2 and Rev3. Also implements Multicast address
  259.      range extensions to Rev3.
  260.  
  261.    - Properly implements Multiple Protocol Stack Support.
  262.  
  263.    - cnet.device is now NewStyleDevice.
  264.  
  265.    - cnet.device can now be expunged from the memory.
  266.  
  267.    - Separate 68000 and 68020 versions. Special turboio version with DMA
  268.      speedup hack.
  269.  
  270.    - Optimized for better performance.
  271.  
  272.    - Thanks to v1.2 beta testers: darza, sda, shygirl, kolla, BlackWine,
  273.      miksuh, Nadir, tekmag, goat^god, Tripper, Tundrah, Ion and Janne_k.
  274.      Special thanks to Tundrah for providing very extensive benchmark
  275.      results.
  276.  
  277.    (for more information see src/cnetdevice.asm version history)
  278.  
  279.  
  280. Legal Mush:
  281.  
  282.   Original note by Bruce Abbott <bhabbott@inhb.co.nz>:
  283.  
  284.   <quote>
  285.  
  286.   To encourage further development in PC-CARD devices for the Amiga, I am
  287.   placing the source code for this project into the Public Domain. You
  288.   can freely use or abuse it as you wish. I have also included some other
  289.   authors' code for reference purposes, please respect their copyrights.
  290.  
  291.   Please note that this driver is not a finished product, and is almost
  292.   certain to harbour a few bugs. Thus I will not be held responsible for
  293.   any loss or injury that you may incur while using it.
  294.  
  295.   I cannot guarantee compatibility with your system. All I can say is it
  296.   works for me.
  297.  
  298.   </quote>
  299.  
  300.   Special thanks go to Bruce Abbott for making cnet.device public domain.
  301.   This `legal mush' quote still applies, although I tried to remove as
  302.   many bugs as I could. cnet.device v1.2 is still public domain and full
  303.   source code is included. Enjoy!
  304.  
  305.   - Harry "Piru" Sintonen, 25th May 2000.
  306.